<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>let-const-var在for循环中的使用</title>
</head>
<body>
    
</body>
<script>
    /*
        let const var在for循环中的使用
            因为for循环中的变量是改变的  所以在三个定义变量的方式只能怪使用var 和 let
    */

    for(var i = 0;i < 3;i++){
        console.log(i)  //0 1 2 
    }
    console.log(i)  // 3

    for(let j = 0;j < 3;j++){
        console.log(j)  // 0 1 2
    }
    console.log(j) // j is not defined

    /*
        由以上的代码中我们不难看出  for循环本身就是一个代码块  代码块大部分都是一{}包裹起来的称为代码块 但是也有特殊的代码块  像for()循环小括号里面的也是代码块
            所以  当使用var 定义  就相当于是全局定义  所以在最外层是能够访问的到这个i的
            而使用let这种块级作用域的定义就不能够被外面所使用
    */
</script>
</html>